МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
КАФЕДРА ЕОМ
Звіт
по лабораторній роботі №1
з курсу
“ АЛГОРИТМИ ТА МЕТОДИ ОБЧИСЛЕНЬ ”
Підготував: ст. гр.
Прийняв:
Львів-2009ТЕМА: Ознайомлення з пакетом математичного моделювання Scilab-5.0.3.
МЕТА: Освоїти синтаксис та команди пакету Scilab. Уміти практично використовувати дані команди для побудови графіків, діаграм та розв’язування лінійних і нелінійних рівнянь.
Короткі теоретичні відомості про пакет Scilab-5.0.3:
Scilab — пакет наукових програм для чисельних обчислень, що надає потужне відкрите оточення для інженерних і наукових розрахунків. З 1994 року розповсюджується у вигляді джерельних кодів через Інтернет. Тепер Scilab підтримується компанією Scilab Consortium, створеною в 2003 році. У ній зараз 25 учасників, зокрема Mandriva, INRIA та ENPC (Франція). Scilab містить сотні математичних функцій з можливістю додавання нових, написаних на різних мовах (C, C++, Fortran …). Так само є різноманітні структури даних (списки, поліноми, раціональні функції, лінійні системи), інтерпретатор і мова високого рівня.
Scilab був спроектований так, щоб бути відкритою системою, де користувачі можуть додавати свої типи даних і операції над цими даними шляхом перевантаження.
У системі доступно безліч інструментів:
2d і 3d графіки, анімація
Лінійна алгебра, розріджені матриці (sparse matrices)
Поліноміальні та раціональні функції
Інтерполяція, апроксимація
Симуляція: рішення ОДУ і ДУ
Scicos: гібрид системи моделювання динамічних систем і симуляції
Диференціальні і не диференціальні оптимізації
Обробка сигналів
Паралельна робота
Статистика
Робота з КА
Інтерфейс до Fortran, Tcl/Tk, C, C++, Java, LabVIEW
Scilab має схожу з MATLAB мову програмування, в складі є утиліта, що дозволяє конвертувати документи Matlab → Scilab.
Scilab дозволяє працювати з елементарними і великим числом спеціальних функцій (Бесселя, Неймана, інтегральні функції), має могутні засоби роботи з матрицями, поліномами (у тому числі і символьний), проводити чисельні обчислення (наприклад чисельна інтеграція) і вирішення завдань лінійної алгебри, оптимізації і симуляції, могутні статистичні функції, а також засіб для побудови і роботи з графіками. Для чисельних розрахунків використовуються бібліотеки Lapack, LINPACK, ODEPACK , Atlas та інші.[1]
До складу пакету також входить Scicos інструмент для редагування блокових діаграм і симуляції (аналог simulink в пакеті — MATLAB). Є можливість спільної роботи Scilab з програмою LabVIEW. Програма доступна для різних операційних систем, включаючи GNU/Linux та Microsoft Windows. Є можливість розширення можливостей програми зовнішніми програмами і модулями, написаними на різних мовах програмування. Програма має відкритий початковий код, дозволяючи в т.ч. вільне комерційне використання і розповсюдження незмінених версій, а також некомерційне (для кому. необхідне узгодження з INRIA) розповсюдження змінених версій, які повинні включати джерельний код. Наступна версія програми за попередніми даними розповсюджуватиметься під сумісною з GPL ліцензією CeCILL license.
Відмінності від деяких комерційних програм:
Безкоштовність
Маленький розмір (дистрибутив займає менш 20мб проти більш ніж двохгігабайтного пакету MATLAB)
Можливість запуску в консолі без використання графічного інтерфейсу. Це дозволяє проводити автоматизовані обчислення, є пакетний режим.
Приклади:
Прості обчислення
Код, що задає матрицю і обраховує визначник:
M=[1 6 8; 7 8 8; 1 6 0]
det(M)
Побудова простого графіка функції
// x initialisation
x=[0:0.1:2*%pi]';
//simple plot
plot2d(sin(x))
Складніший графік функції:
Графік, намальований з допомогою Scilab
set("figure_style","new") //create a figure
subplot(211)
a=gca() //get the current axes
a.box="off";
t=-%pi:0.3:%pi;plot3d(t,t,sin(t)'*cos(t),80,50,'X@Y@Z',[5,2,4]);
subplot(212)
plot2d(); //simple pl...